package com.meta.act.app.system.mapper;

//import com.meta.framework.act.tenant.entity.TenantBase;
//import com.meta.framework.act.tenant.req.PageTenantQry;
//import com.meta.framework.act.tenant.req.ro.TenantBaseRo;
//import com.meta.framework.act.tenant.req.ro.TenantUserRo;
//import com.metafnt.tenant.intf.res.TenantPageVo;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.meta.act.app.tenant.entity.TenantBase;
import com.meta.act.app.tenant.req.PageTenantQry;
import com.meta.act.app.tenant.req.ro.TenantBaseRo;
import com.meta.act.app.tenant.req.ro.TenantUserRo;
import com.meta.act.app.tenant.res.TenantPageIo;
import com.meta.framework.common.annotation.TenantSkip;
import com.meta.framework.common.enums.TenantSkipE;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * 租户信息表
 *
 * @author Simon
 * @email 1111111111111@qq.com
 * @date 2020-11-04 15:23:04
 */
@Repository
public interface TenantBaseMapper extends BaseMapper<TenantBase> {

	/**
	 * insert tenantBase info
	 * @method insertTenantBase
	 * @param       tenantBase:
	 * @return void
	 * @author      Simon
	 * @date        2020-11-04 15:23:04
	 */
	@TenantSkip
	int insertTenantBase(TenantBase tenantBase);

	/**
	 * batchInsert tenantBase info
	 * @method insertTenantBase
	 * @param       tenantBases:
	 * @return void
	 * @author      Simon
	 * @date        2020-11-04 15:23:04
	 */
	@TenantSkip(isSkip = TenantSkipE.SKIP)
	void batchInsertTenantBase(List<TenantBase> tenantBases);

	/**
	 * update tenantBase info
	 * @method updateTenantBase
	 * @param       tenantBase:
	 * @return int
	 * @author      Simon
	 * @date        2020-11-04 15:23:04
	 */
	int updateTenantBase(TenantBase tenantBase);

	/**
	 * update tenantBase info by Pk
	 * @method updateTenantBaseByPk
	 * @param       tenantBase:
	 * @return int
	 * @author      Simon
	 * @date        2020-11-04 15:23:04
	 */
	int updateTenantBaseByPk(TenantBase tenantBase);

	/**
	 * list tenantBase info
	 * @method listTenantBase
	 * @param       tenantBaseRo:
	 * @return List<TenantBase>
	 * @author      Simon
	 * @date        2020-11-04 15:23:04
	 */
	@TenantSkip(isSkip = TenantSkipE.SKIP)
	List<TenantBase> listTenantBase(TenantBaseRo tenantBaseRo);

	@TenantSkip(isSkip = TenantSkipE.SKIP)
	List<TenantBase> listTenantByUserId(TenantUserRo tenantUserRo);

	@TenantSkip(isSkip = TenantSkipE.SKIP)
	List<TenantPageIo> page(PageTenantQry qry);
	
	int pageCount(PageTenantQry qry);
}
